/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package co.uniandes.patrones.beans;

import co.uniandes.patrones.entidades.AdministradorSolicitudes;
import co.uniandes.patrones.entidades.AdministradorUsuarios;
import co.uniandes.patrones.entidades.Cliente;
import co.uniandes.patrones.entidades.Solicitud;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

/**
 *
 * @author alvar-go@uniandes.edu.co
 */
public class SolicitudesClienteBean {

    private List<String> placas;

    private String placasSeleccionadas;

     private String taller;

    private String estado;

    private String descripcion, identificacion;

    private double costo;

    private List<String> imagenes;

    private Cliente clienteActual;

    private AdministradorSolicitudes adminSol;

    public SolicitudesClienteBean() {
        cargarDatos();
    }

    public SolicitudesClienteBean(List<String> placas, String placasSeleccionadas, String taller, String estado, String descripcion, double costo, List<String> imagenes, Cliente clienteActual, AdministradorSolicitudes adminSol) {
        this.placas = placas;
        this.placasSeleccionadas = placasSeleccionadas;
        this.taller = taller;
        this.estado = estado;
        this.descripcion = descripcion;
        this.costo = costo;
        this.imagenes = imagenes;
        this.clienteActual = clienteActual;
        this.adminSol = adminSol;
    }

    

     private void cargarDatos(){
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession sesion = (HttpSession) context.getExternalContext().getSession(false);
        if( sesion != null){
             AdministradorUsuarios ad = AdministradorUsuarios.getInstancia();
             adminSol = AdministradorSolicitudes.getInstancia();
             clienteActual = (Cliente)ad.buscarUsuario((String)sesion.getAttribute(IngresoBean.SESION_LOGIN));
             identificacion = clienteActual.getTipo() +":" + clienteActual.getLogin();
             placas = adminSol.darSolicitudesCliente(clienteActual.getId());
        }
    }

    public String getIdentificacion() {
        return identificacion;
    }

    public void setIdentificacion(String identificacion) {
        this.identificacion = identificacion;
    }
    
    public double getCosto() {
        return costo;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public String getEstado() {
        return estado;
    }

    public List<String> getImagenes() {
        return imagenes;
    }

    public List<String> getPlacas() {
        return placas;
    }

    public String getPlacasSeleccionadas() {
        return placasSeleccionadas;
    }

    public void setCosto(double costo) {
        this.costo = costo;
    }

    public String getTaller() {
        return taller;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }

    public void setImagenes(List<String> imagenes) {
        this.imagenes = imagenes;
    }

    public void setPlacas(List<String> placas) {
        this.placas = placas;
    }

    public void setPlacasSeleccionadas(String placasSeleccionadas) {
        this.placasSeleccionadas = placasSeleccionadas;
    }

    public void setTaller(String taller) {
        this.taller = taller;
    }

    public void verSolicitud(){
        if(placasSeleccionadas != null){
            Solicitud s = adminSol.darSolicitud(placasSeleccionadas);
            taller = s.getTallerString().split("-")[0];
            estado = s.getEstado();
            descripcion = s.getDescripcion();
            costo = s.getCosto();
            imagenes = s.getImagenes();
        }
    }
}